async setEngine(id) {
if (this._oskCompletion)
- this._preOskEngine = id;
+ await this._maybeUpdateCompletion(id);
+ else
+ await this._setEngine(id);
+ }
- const isXkb = id.startsWith('xkb:');
- if (this._oskCompletion && isXkb)
+ async _maybeUpdateCompletion(id) {
+ if (!this._oskCompletion)
return;
- if (this._oskCompletion)
+ this._preOskEngine = id;
+ const isXkb = id.startsWith('xkb:');
+
+ /* Non xkb engines conflict with completion */
+ if (!isXkb)
await this.setCompletionEnabled(false);
- else
- await this._setEngine(id);
}
preloadEngines(ids) {